>>watchdog type of program running to turn off the spindle if any axis becomes disabled.<<
Hmmm... I am not sure. Perhaps, I need to understand how an axis can become disabled and why an operator would want to disable an axis.
So far, I think I have the E-Stop safety handled (hardware along with software activation). And limit switches should protect the machine from overtravel. I am now concerned about operator caused crashes. Whether they are caused by a UI control or a physical control.
I do not know where to find information on safety measures meant to protect the machine, tool and/or part from operator error. And, I do not know enough about CNC machining to make an informed decision.
I do not want to do something that unnecessarily limits the machines capabilities.
So, if anyone has a link or other info I would appreciate the help.
Does anyone know of any guidelines / recommendations that refer to operator panel controls (hardware and/or software) and when they are allowed or locked out? Or machine states (axis enables, spindle on/off, etc) and software states that should trigger software actions?
The entire control is being replaced with KFlop/KAnalog and KMotionCNC (no Mach3 for now). So, as you say... I am responsible. I am the only one that should run it, but I still want to include logical software safety measures where possible. I am also concerned about possible future machines that may be for someone else.
I think that the machine should do whatever G code tells it to within the limit switches. However, I see that HAAS has a setting to warn about an offset change > N distance to try and catch mistyped values. Things like that might be nice to include if I knew what they are.
To start, I was thinking of some software overrides based on the g code program state:
On G Code program start/step/resume (non-simulate):
Any axis disabled or coolant disabled - Pop up specific warning with override. Set flags for what is overridden to avoid future messages when the same program is resumed/stepped.
While G Code program is running (halted = feed hold is not running):
Do not allow operator to disable an axis. I have no physical disable/enable switches. So, I think KMotionCNC would need to disable the controls. Could KFlop intercept the command?
If an axis transitions from enabled to disabled (hardware issue) execute a software E-Stop.
Do not allow operator to turn spindle On/Off (stop or change current direction).
Do not allow jog.
Do not allow another g code program to start? Can more than one run? See... I am not well informed in some areas.
When G Code program finishes:
Restore full control.
Does this make sense?
If so, do you have hints on how to catch g code program start/resume/finish?
Thanks.